mixin outputoption(name, longdescription, shortdescription, defaultchecked)
  if noscript
    .button-checkbox
      if defaultchecked
        input(type="checkbox" title=longdescription name=name checked='checked' value='true')
      else
        input(type="checkbox" title=longdescription name=name value='true')
      span=shortdescription
  else
    - var pressed = defaultchecked ? 'true' : 'false'
    .button-checkbox
      button.dropdown-item.btn.btn-sm.btn-light(type='button' title=longdescription data-bind=name aria-pressed=pressed)
        span=shortdescription
      input.d-none(type="checkbox" checked=defaultchecked)
// If you modify this, update types/features/filters.interfaces.ts
+outputoption('binaryObject', 'Compile to binary object and disassemble the output', 'Compile to binary object', false)
// the field needs to keep being "binary" and not "link" or something closer to the description as it is part of
// our interface and we can't break it.
+outputoption('binary', 'Link to binary and disassemble the output', 'Link to binary', false)
+outputoption('execute', 'Execute code and show its output', 'Execute the code', false)
+outputoption('intel', 'Output disassembly in Intel syntax', 'Intel asm syntax', true)
+outputoption('demangle', 'Demangle output', 'Demangle identifiers', true)
+outputoption('verboseDemangling', 'Include disambiguating hashes in demangled identifiers', 'Verbose demangling', true)
